//封装分类数据业务相关代码
import { getCategoryAPI } from "@/apis/category";
import { useRoute } from "vue-router";
import { onBeforeRouteUpdate } from "vue-router";
import { onMounted, ref } from "vue";

export function useCategory() {
  //获取数据
  // const categoryChildren = ref([]);//ai
  const categoryData = ref({})
  const route = useRoute()
  const getCategory = async (id = route.params.id) => {//默认使用旧的id，当下方getCategory(to.params.id)产生新的路由参数时就会使用新的
    const res = await getCategoryAPI(id)
    categoryData.value = res.result
    // categoryChildren.value = res.result.children;//ai
  }

  onMounted(() => getCategory())

  //目标：路由参数变化的时候可以把分类数据接口重新发送
  onBeforeRouteUpdate(() => {
    console.log('路由变化了');
    //使用最新的路由参数请求最新的分类数据
    console.log(to);
    getCategory(to.params.id)
  })
  return {
    categoryData
  }
}